
#ifndef  __SYS_MSG_H__
#define  __SYS_MSG_H__

//********************************************************************
#include "sys_port.h"

#include "list.h"
//********************************************************************
#ifdef __cplusplus
extern "C" {
#endif
//********************************************************************

typedef struct 
{
    unsigned int t_id;
    int t_year;
    int t_month;
    int t_day;

    int t_hour;
    int t_min;
    int t_sec;
    int is_read;

    char * title;
    char * buff;
} msg_info_t ;

typedef struct  {

	slist_t 	e_tail;
    msg_info_t  e_attr;
}sys_msg_t;

typedef struct  {

    int         len;
	slist_t *   e_head;
}sys_msg_manage_t;
//********************************************************************
int msg_info_init(void);
int msg_info_destroy(void);
int msg_info_add(msg_info_t *msg);
int msg_info_del(int msg_id);
int msg_info_trav(void);
int msg_info_get_len(void);
sys_msg_t * msg_info_get_by_index(int index);
int msg_info_get_noread(void);
int msg_info_clear_all_noread(void);
int system_message_add(char* title,char* detail);

int sys_message_create(char* buff,int len);

char* sys_message_dump(void);
int   sys_message_add_to_list(void);
int   sys_message_update_read_flag(int t_msgid,int read_flag);
int   sys_message_write_info(void);
int   sys_message_clear_read_flag(void);
int   sys_message_remove_timeout_msg(void);
//********************************************************************
#ifdef __cplusplus
}
#endif
//********************************************************************

#endif

